#include "HelpHandler.h"
#include "HandlerRegister.h"

#include <iostream>

static HandlerProvider provider1("?", HelpHandler()); // 登记一个prototype 对象
static HandlerProvider provider2("", HelpHandler()); // 登记一个prototype 对象
static HandlerProvider provider3("help", HelpHandler()); // 登记一个prototype 对象

IHandler* HelpHandler::Clone() const
{
	return new HelpHandler(*this);
}

void HelpHandler::Handle(const std::string& commandLine)
{
	std::cout << "支持以下命令:" << std::endl;
	for (auto command : HandlerRegister::Instance().GetCommandList())
	{
		if (!command.empty())
		{
			std::cout << command << std::endl;
		}
	}
	std::cout << "quit" << std::endl;
}
